/**
 * 文件恢复相关的类型定义
 */

// 恢复选项
export interface RecoveryOptions {
  overwrite: boolean
  createDirectories: boolean
  preserveTimestamp: boolean
}

// 恢复任务
export interface RecoveryTask {
  versionId: string
  fileId: string
  originalPath: string
  targetPath: string
}

// 恢复结果
export interface RecoveryResult {
  success: boolean
  targetPath: string
  error?: string
  bytesWritten: number
}

// 批量恢复选项
export interface BatchRecoveryOptions extends RecoveryOptions {
  continueOnError: boolean
  maxConcurrent: number
}

// 批量恢复结果
export interface BatchRecoveryResult {
  successful: RecoveryResult[]
  failed: RecoveryResult[]
  totalCount: number
  duration: number
}

// 恢复预览信息
export interface RecoveryPreview {
  tasks: RecoveryTask[]
  conflicts: ConflictInfo[]
  totalSize: number
  estimatedDuration: number
}

// 冲突信息
export interface ConflictInfo {
  targetPath: string
  existingFile: boolean
  sizeConflict: boolean
}